Content is increasingly distributed in electronic form to an array of users for use on a variety of computing devices. The content may include media such as books, magazines, newspapers, newsletters, manuals, guides, references, articles, reports, documents, blogs, or any other type of content that includes text, images, audio, and/or video. A file size of content may widely vary based on a file type used to store the content, a length of the content, an amount of formatting information, and for other reasons. The formatting information may prescribe the look and feel of underlying data (e.g., text, images, video, tables, etc.) of the content. In some instances, the formatting information may be complex and consist of a significant portion of an overall byte size of the content. For example, a few hundred page document that includes many tables, fonts, text sizes, and other formatting information may dedicate a significant portion of the file information to the formatting information. Often, it is important to accurately preserve this formatting information to enable rendering the content as intended by a publisher or other source of the content.
The computing devices that ultimately access the content may have different performance characteristics based on their respective hardware resources (e.g., processors, memory, etc.). Some computing devices may be able to access the content, but may perform in a manner that is less than ideal (e.g., have user-perceived latency when processing tasks, etc.) due to slow processors, limited bandwidth, or other reasons.
Generally, people prefer their computing devices to access desired content in a quick, efficient, and predictable manner regardless of the size of content and the particular type of computing device used to access the content. In particular, people desire immediate or substantially immediate access to user-specified portions of content regardless of the content size, type, and/or performance characteristics of the computing device that loads and renders the content. For example, a user may become frustrated when the computing device takes noticeably longer to access a first piece of content than it does to access a second piece even though the difference may be justified by a size of the pieces of content (e.g., first piece is much small than the second piece, and thus faster to load on the computing device). Similarly, the user may become frustrated when the computing device takes noticeably longer to access a piece of content because of a processing speed of the computing device (slow processing speed versus another computing device having a fast processing speed).